<!DOCTYPE html>
<!--
     SPDX-License-Identifier: CC-BY-SA-4.0
     SPDX-FileCopyrightText: 2020 seL4 Project a Series of LF Projects, LLC.
-->
<!-- Page last generated 2025-02-20 03:16:15 +0000 -->
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Project Status | seL4 docs</title>

    <!-- Our stylesheet and theme stylesheet.  Contains bootstrap. -->
    <link rel="stylesheet" href="/assets/css/style.css" type="text/css">
    <!-- Font awesome -->
    <link href="https://use.fontawesome.com/releases/v5.0.8/css/all.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    <!-- Pygments syntax highlighting  -->
    <link rel="stylesheet" href="/assets/css/highlighting/trac.css" type="text/css">
    <link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><script defer data-domain="docs.sel4.systems"
	    src="https://analytics.sel4.systems/js/script.js"></script></head>

  <body class="container-fluid">

    



<header>
  <ul class="row menu">
    <li class="col-xs-12 col-md-2" >
            <a href="https://sel4.systems" class="skip-icon">
              <img class="img-responsive" src="/assets/logo-text-white.svg" alt="seL4 logo" />
            </a>
    </li>
    <li class="col-xs-12 col-md-10 menu">
      <nav aria-label="Banner links">
        <h2><a href="/Resources" />Resources</h2>
        <h2><a href="/processes" />Contributing</a></h2>
        <h2><a href="/projects" />Projects</h2>
        <h2><a href="/Tutorials" />Tutorials</h2>
        <iframe title="DuckDuckGo search bar" src="https://duckduckgo.com/search.html?site=docs.sel4.systems&prefill=Search%20sel4.systems" style="overflow:hidden;margin-bottom:10px; padding:0;height:40px;float:right;border-width: 0px"></iframe>
      </nav>
    </li>
  </ul>
  <div class="clear"></div>
  
<div class="breadcrumbs bootstrap hidden-sm-down">
  <nav class="sel-breadcrumb" aria-label="Breadcrumb" >
    <ol class=" list-unstyled" vocab="http://schema.org/" typeof="BreadcrumbList">
      
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/">
              <span property="name"><b>seL4 Docs</b></span>
            </a>
            <meta property="position" content="1" />
        </li>
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/projects/">
              <span property="name"><b>Projects</b></span>
            </a>
            <meta property="position" content="2" />
        </li>
      
        

        

        <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <a property="item" typeof="WebPage" href="/projects/sel4bench/">
              <span property="name"><b>sel4bench</b></span>
            </a>
            <meta property="position" content="3" />
        </li>
      
        

        
          <li class="breadcrumb-item" property="itemListElement" typeof="ListItem">
            <span property="name">Project Status</span>
            <meta property="position" content="4" /></li>
          
    </ol>
  </nav>
  <nav class="sel-version" aria-label="Current Versions">
    <ol class="list-unstyled">
      <li class="list-unstyled text-right" style="margin-left:auto; padding:0rem 0rem;">
        Current versions:</li>
      <li class="list-unstyled text-right">
      <a href="/releases/sel4/13.0.0"><b>seL4-13.0.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/microkit/1.4.1"><b>microkit-1.4.1</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/camkes/camkes-3.11.0"><b>camkes-3.11.0</b></a></li>
      <li class="list-unstyled text-right">
      <a href="/releases/capdl/0.3.0"><b>capDL-0.3.0</b></a></li>
      </ol>
  </nav>
  <div class='clear'></div>
</div>


</header>

    <main>
      <div class="row">
  <div class="hidden-xs col-sm-4 col-md-3 col-lg-2">
    


<div class="sidebar">















    <ul class="nav nav-sidebar">
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4/">seL4</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/l4v/">L4.verified</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/camkes/">CAmkES</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/capdl/">CapDL</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/elfloader/">Elfloader</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/buildsystem/">seL4 Buildsystem</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/user_libs/">user_libs</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4runtime/">The seL4 run-time</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4webserver/">seL4webserver</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4-tutorials/">seL4 tutorials</a>
        </li>
  
    
    

    
        <li class="active">
            <a class="" href="/projects/sel4bench/">sel4bench</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4test/">seL4Test</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/virtualization/">Virtualization</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/camkes-vm/">camkes-vm</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/dockerfiles/">Dockerfiles</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/docsite/">seL4 Documentation website</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/sel4_tools/">seL4_tools</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/microkit/">Microkit</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/hardware_hacks/">Hardware Hacks</a>
        </li>
  
    
    

    
        <li class="">
            <a class="" href="/projects/rust/">Rust</a>
        </li>
  
    </ul>


</div>

  </div>
  <div class="content col-sm-8 col-md-6 col-lg-7 main">
    <h1 id="sel4bench-project-status">seL4bench Project Status</h1>

<p>This project status page lists the status for currently supported features, components
and configurations for seL4bench and who is responsible for maintaining them.
Some benchmark results are regularly updated on the <a href="http://sel4.systems/About/Performance/">sel4.systems website</a>.</p>

<h2 id="features">Features</h2>

<h3 id="benchmark-runner">Benchmark runner</h3>

<p>seL4bench requires itself to be started directly by seL4 as the root-task in the system.
This is the <code class="language-plaintext highlighter-rouge">sel4bench</code> binary and it then also serves as the main benchmark runner.
It runs the configured benchmarks and sets up a new environment for each benchmark to run in.
When a benchmark completes, it reports the results back to the runner and the runner prints
the results out as JSON once all the benchmarks have run. <code class="language-plaintext highlighter-rouge">sel4bench</code> is maintained
by the seL4 Foundation and is currently the only benchmark runner that is expected to
run benchmarks targeting sel4bench.</p>

<h3 id="benchmarking-environment">Benchmarking environment</h3>

<p>Each benchmark runs in a separate process environment. Currently there is only a single environment
that all benchmarking apps are expected to execute in. This environment defines the set of
system resources that each benchmark is given to run with, and also provides the configuration
options for each benchmark. Each benchmark is able to provide an init function and parse results function
that will get called in the main <code class="language-plaintext highlighter-rouge">sel4bench</code> app. Otherwise all benchmark functionality runs in the environment.</p>

<p>The <code class="language-plaintext highlighter-rouge">libsel4benchsupport</code> is a library that provides the environment functions that the benchmarks can call.
This library is maintained by the seL4 Foundation and is extended to support new features as new benchmarks are added.</p>

<h3 id="benchmarks">Benchmarks</h3>

<table>
    <thead>
        <tr>
            <th>Components</th>
            <th>Description</th>
            <th>Status</th>
            <th>Maintained by</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Fault benchmarks</td>
            <td>Application to benchmark seL4 faults without modification to the kernel</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>Hardware benchmarks</td>
            <td>Application to benchmark hardware-related operations</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>IPC benchmarks</td>
            <td>Application to benchmark seL4 IPC</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>IRQ kernel-mode benchmarks</td>
            <td>Application to benchmark seL4 IRQs from inside the kernel</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>IRQ user-mode benchmarks</td>
            <td>Application to benchmark seL4 IRQs without modification to the kernel</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>Page mapping benchmarks</td>
            <td>Application to benchmark seL4 mapping a series of pages</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>Scheduler benchmarks</td>
            <td>Application to benchmark seL4 scheduler without modification to the kernel</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>Signal benchmarks</td>
            <td>Application to benchmark seL4 signals without modification to the kernel</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>SMP benchmarks</td>
            <td>Application to benchmark SMP operations and IPC</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>Synchronisation library benchmarks</td>
            <td>Application to benchmark the seL4 sync library</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>Aarch64 VCPU benchmarks</td>
            <td>Application to benchmark seL4 VCPU performance</td>
            <td>active</td>
            <td>seL4 Foundation</td>
        </tr>
    </tbody>
</table>

<h2 id="project-manifests">Project manifests</h2>

<table>
    <thead>
        <tr>
            <th>Components</th>
            <th>Description</th>
            <th>Status</th>
            <th>Maintained by</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>master.xml</td>
            <td>seL4bench project manifest with all repositories from master branches.</td>
            <td>active. Updated whenever project repository structure changes.</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>default.xml</td>
            <td>seL4bench project manifest with all repositories pinned to last versions that successfully produced benchmark results.</td>
            <td>active. This gets updated automatically by continuous integration.</td>
            <td>seL4 Foundation</td>
        </tr>
    </tbody>
</table>

<h2 id="configurations">Configurations</h2>

<p>Different configurations can have a large effect on the end results reported by the benchmarks.
Some benchmarks also won’t work unless certain configurations are set. To make it easier
to configure a build of seL4bench that has the right configuration values set there is
a selection of meta-configuration options that are specific to seL4bench. These options
are listed below and will be interpreted by seL4bench and used to set sensible default
configuration values.</p>

<table>
    <thead>
        <tr>
            <th>Configurations</th>
            <th>Description</th>
            <th>Status</th>
            <th>Maintained by</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>RELEASE (BOOL)</td>
            <td>Performance optimized build</td>
            <td>(Default: ON)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>HARDWARE (BOOL)</td>
            <td>Configuration for sel4bench hardware app</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>FAULT (BOOL)</td>
            <td>Configuration sel4bench fault app</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>VCPU (BOOL)</td>
            <td>Whether or not to run the VCPU benchmarks</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>SMP (BOOL)</td>
            <td>Configuration sel4bench smp app</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>PLATFORM (STRING)</td>
            <td>Platform to test</td>
            <td>(Default: x86_64)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>FASTPATH (BOOL)</td>
            <td>Turn fastpath on or off</td>
            <td>(Default: ON)</td>
            <td>seL4 Foundation</td>
        </tr>
        <tr>
            <td>ARM_HYP (BOOL)</td>
            <td>ARM EL2 hypervisor features on or off</td>
            <td>(Default: OFF)</td>
            <td>seL4 Foundation</td>
        </tr>
    </tbody>
</table>


  </div>







  
    
<div class="sidebar-toc hidden-xs hidden-sm col-md-3 col-lg-3">
    <ul id="toc" class="section-nav">
<li class="toc-entry toc-h2"><a href="#features">Features</a>
<ul>
<li class="toc-entry toc-h3"><a href="#benchmark-runner">Benchmark runner</a></li>
<li class="toc-entry toc-h3"><a href="#benchmarking-environment">Benchmarking environment</a></li>
<li class="toc-entry toc-h3"><a href="#benchmarks">Benchmarks</a></li>
</ul>
</li>
<li class="toc-entry toc-h2"><a href="#project-manifests">Project manifests</a></li>
<li class="toc-entry toc-h2"><a href="#configurations">Configurations</a></li>
</ul>
</div>

  
  
<div class="sidebar-toc hidden-xs hidden-sm col-md-3 col-lg-3">
  
    <ul class="section-nav">
    	<h2> sel4bench </h2> 
        <li>
          
          <a style="" class="" href="/projects/sel4bench/">
            Documentation homepage
          </a>
        </li>






        <li>
          
          <a style=" font-weight: bold; " class="" href="/projects/sel4bench/status.html">
            Status
          </a>
        </li>












    
        <h3>Repositories</h3>
    
        <li>
          <a class="" href="https://github.com/seL4/sel4bench">
            sel4bench
          </a>
        </li>

    
        <li>
          <a class="" href="https://github.com/seL4/sel4bench-manifest">
            sel4bench-manifest
          </a>
        </li>









  







    
        <h3>Recent Updates</h3>
    
        <li>
          <a style="" href="/updates/sel4bench/11.0.x.html">
            seL4 11.0.x-compatible
          </a>
        </li>

    </ul>

</div>


</div>

    </main>
    


<footer class="site-footer">

  <h2 class="footer-heading">seL4 docs</h2>

  <div class="footer-col-wrapper">

    <div class="col-md-2">
      



<ul class="social-media-list">
  <li><a href="https://github.com/sel4"><i class="fab fa-github"></i> <span class="username">sel4</span></a></li><li><a href="https://github.com/sel4proj"><i class="fab fa-github"></i> <span class="username">sel4proj</span></a></li>
</ul>

    </div>

    <div class="col-md-8">
      <ul class="list-unstyled">
        <li>
          This site is for displaying seL4 related documentation.  Pull requests are welcome.
        </li>
        
          <li>
            Site last updated: Fri Feb 7 10:17:38 2025 +1100 ee78c8857c
          </li>
          <li>
          </li>
        
      </ul>
    </div>
    <div class="col-md-2">
<a href="https://github.com/seL4/docs/blob/master/content_collections/_status/sel4bench.md">View page on GitHub</a>
      <br />
      <a href="https://github.com/seL4/docs/edit/master/content_collections/_status/sel4bench.md">Edit page on GitHub</a>
      <br />
      <a href="/sitemap">Sitemap</a>
    </div>

  </div>

</footer>

  </body>
</html>
